home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DDJMAG / DDJ9203.ZIP / WIN3PRT.ASC < prev    next >
Text File  |  1992-01-24  |  1KB  |  49 lines

  1. _PRINTING FROM WINDOWS 3_
  2. by Michael J. Young
  3.  
  4. [Example 1]
  5.  
  6. BOOL FAR PASCAL AbortProc (HDC HPrnDC,short Code)
  7.      {
  8.      MSG Msg;
  9.  
  10.      while (!UserAbort && PeekMessage (&Msg,NULL,0,0,PM_REMOVE))
  11.           {
  12.           TranslateMessage (&Msg);
  13.           DispatchMessage (&Msg);
  14.           }
  15.      return (!UserAbort);
  16.  
  17.      } // end AbortProc
  18.  
  19.  
  20. [Example 2]
  21.  
  22. HWND HAbortButton;
  23. HANDLE HInst;
  24. HDC HPrnDC;
  25. BOOL InPrintJob = FALSE;
  26. FARPROC PtrAbortProc;
  27. BOOL UserAbort;
  28.   .
  29.   .
  30.   .
  31. if (InPrintJob)
  32.      return (NULL);
  33. HPrnDC = GetPrnDC ();
  34. ShowWindow (HAbortButton,SW_SHOW);
  35. UserAbort = FALSE;
  36. InPrintJob = TRUE;
  37. PtrAbortProc = MakeProcInstance (AbortProc,HInst);
  38. Escape (HPrnDC,SETABORTPROC,0,(LPSTR)PtrAbortProc,NULL);
  39. Escape (HPrnDC,STARTDOC,10,(LPSTR)"Print Demo",0L);
  40.  
  41. // Calls to GDI output functions, such as TextOut and Ellipse go here.
  42. Escape (HPrnDC,NEWFRAME,0,0L,0L);
  43. Escape (HPrnDC,ENDDOC,0,0L,0L);
  44. FreeProcInstance (PtrAbortProc);
  45. InPrintJob = FALSE;
  46. ShowWindow (HAbortButton,SW_HIDE);
  47. DeleteDC (HPrnDC);
  48.  
  49.